package edu.nf.ch10.config;

import edu.nf.ch10.mapper.UserMapper;
import edu.nf.ch10.mapper.UserMapperImpl;
import edu.nf.ch10.service.UserService;
import edu.nf.ch10.service.UserServiceImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;

/**
 * @author wangl
 * @date 2025/4/30
 * 配置类,取代xml配置文件。使用@Configuration注解标识
 */
@Configuration
//可以启用注解扫描，扫描相关的包来装配Bean
@ComponentScan(basePackages = "edu.nf.ch10")
public class AppConfig {

    /**
     * 使用@Bean注解装配一个bean，等效xml中的<bean.../>配置。
     * 默认id就是方法名。也可以通过@Bean注解的name属性来更改。
     * 还可以结合@Scope注解来指定作用域。
     * 最后return的对象会自动纳入IOC容器管理
     * @return
     */
    //@Bean(name = "abc")
    /*@Bean
    @Scope("singleton")
    public UserService userService() {
        //构建UserService实例并注入userMapper
        return new UserServiceImpl(userMapper());
    }*/

   /* @Bean
    public UserMapper userMapper() {
        return new UserMapperImpl();
    }*/
}